Priority talkgroups

ABSTRACT

In one implementation, a communication device comprising one or more processors is configured to participate in a plurality of talkgroups. The one or more processors are configured to receive a communication transmitted from a satellite constellation indicating that a first priority talkgroup has been assigned for the communication device and to receive one or more signal transmitted from the satellite constellation via a control channel indicating that the first priority talkgroup is active, in response to which the one or more processors may determine that the first priority talkgroup has been assigned for the communication device and that the first priority talkgroup is active. Consequently, the one or more processors may set the communication device to the first priority talkgroup such that the communication device starts receiving communications via the first priority talkgroup.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.15/407,700, filed on Jan. 17, 2017, which is a Continuation of U.S.patent application Ser. No. 15/016,863, filed on Feb. 5, 2016, now U.S.Pat. No. 9,578,470, issued Feb. 21, 2017, which claims the benefit ofU.S. Provisional Patent Application No. 62/112,267 filed on Feb. 5,2015, the disclosures of each of which are incorporated herein byreference in their entirety.

TECHNICAL FIELD

The disclosure relates generally to Push-To-Talk (“PTT”) communication,and more specifically to priority talkgroups in PTT communication.

SUMMARY

According to an implementation of the disclosure, a communication devicecomprising one or more processors is configured to participate in aplurality of talkgroups. The one or more processors are configured toreceive a communication transmitted from a satellite constellationindicating that a first priority talkgroup has been assigned for thecommunication device and to receive one or more signal transmitted fromthe satellite constellation via a control channel indicating that thefirst priority talkgroup is active, in response to which the one or moreprocessors may determine that the first priority talkgroup has beenassigned for the communication device and that the first prioritytalkgroup is active. Consequently, the one or more processors may setthe communication device to the first priority talkgroup such that thecommunication device starts receiving communications via the firstpriority talkgroup.

Other features of the present disclosure will be apparent in view of thefollowing detailed description of the disclosure and the accompanyingdrawings. Implementations described herein, including theabove-described implementation, may include a method or process, asystem, or computer-readable program code embodied on computer-readablemedia.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure, referencenow is made to the following description taken in connection with theaccompanying drawings.

FIG. 1 is a block diagram of a network for satellite-basedcommunications using one or more communication methods, in accordancewith particular implementations of the present disclosure.

FIG. 2 is a schematic diagram illustrating a satellite-basedimplementation of a push-to-talk system, in accordance with particularimplementations of the present disclosure.

FIG. 3 is a flow chart illustrating a method for establishingcommunication via one or more talkgroups, in accordance with particularimplementations of the present disclosure.

FIG. 4 is a flow chart illustrating a method of handling prioritytalkgroups in a push-to-talk system, in accordance with particularimplementations of the present disclosure.

FIG. 5 is a table showing an example implementation of the presentdisclosure in which a plurality of communication devices are provisionedto participate in a plurality of talkgroups and are assigned to aplurality of priority talkgroups, in accordance with particularimplementations of the present disclosure.

FIG. 6A shows a plurality of communication devices participating in aplurality of non-priority talkgroups; FIG. 6B shows a result of atransition by the communication devices from the talkgroups shown inFIG. 6A to a fourth highest priority talkgroup of FIG. 5; FIG. 6C showsa result of a transition by the communication devices from thetalkgroups shown in FIG. 6B to a third highest priority talkgroup ofFIG. 5; FIG. 6D shows a result of a transition by the communicationdevices from the talkgroups shown in FIG. 6C to a second highestpriority talkgroup of FIG. 5; and FIG. 6E shows a result of a transitionby the communication devices from the talkgroups shown in FIG. 6D to ahighest priority talkgroup of FIG. 5, each in accordance with particularimplementations of the present disclosure.

FIG. 7A is a schematic diagram of a communication device configured toparticipate in a satellite communication system, including, for example,a satellite-based PTT system, in accordance with particularimplementations of the present disclosure; and FIG. 7B is a schematicillustration of a device configured to implement one or processes formanaging communication in a satellite communication system, including,for example, a satellite-based PTT system, in accordance with particularimplementations of the present disclosure.

DETAILED DESCRIPTION

Various implementations set forth in this disclosure are described inrelation to Push-To-Talk (“PTT”) communication protocols implementedthrough a network of cross-linked satellites, but such implementationsare not so limited and may be applied to many other communicationprotocols implemented through many other communication systems. Inparticular implementations set forth herein, satellite-based PTTcommunication may be implemented with one or more so-called “prioritytalkgroups” defined for some or all of the communication devicesprovisioned to participate in the PTT network. The definition of thepriority talkgroups for any given communication device may be performedby a central administrator of PTT communication for that device (e.g.,as opposed to the user of the device). Such a “priority talkgroup” maybe a talkgroup that the administrator determines is more critical thanother talkgroups available to the device. When the priority talkgroupfor a specific device is instantiated and communication commences withinthat talkgroup, each device with that talkgroup assigned as the prioritytalkgroup may be automatically brought into the priority talkgroup'scommunication, regardless of the status of the device at the time. Inparticular implementations, the device will switch from communicating(e.g., transmitting or receiving) within a current talkgroup tolistening on the priority talkgroup, even if the device user is talkingon the currently set talkgroup for the device. In some implementations,the user of a device may not have the ability to change the prioritytalkgroup, such that assigning or reassigning the priority talkgroup forthe device is solely the responsibility of the PTT administrator. Thefunction of listening for activity on the priority talkgroup and thefunction of switching from the current talkgroup (or even switching fromanother function currently being performed by the device) to PTTcommunication via the priority talkgroup may be exclusively performed bythe device in some implementations.

PTT users may have a need to ensure communication between specificparties during special and/or emergency circumstances. Given that PTTservice is often implemented by a plurality of devices, each of whichmay be configured to participate in only one talkgroup at a time, thereis often a need to ensure that critical communication may be initiatedwith target devices of the plurality of devices regardless of thecurrent status of the target devices.

Implementations of the priority talkgroup function may permit thetransmission of critical or emergency communications to functionalworkgroups and other user groups when desired. An example use of thiscapability is the creation of a man-down talkgroup that is intended foruse only when a worker is in danger or incapacitated. The prioritytalkgroup feature may allow for the user of a device set to the prioritytalkgroup to communicate the worker's danger or incapacitation to allusers of the priority talkgroup that are connected with the PTTcommunication system, for example.

The concept of priority may be network-based in some implementations ofPTT. In particular, there may be a prioritization of some allocation ofchannels and of the creation of some talk groups over other talk groups.In other implementations, a concept referred to as “ruthless preemption”may be used. In ruthless preemption, when a preempting talkgroup isactivated or when a request for resources associated with the preemptingtalkgroup comes in, the preempting talkgroup may trump all talkgroups,such that channels used for other talkgroups are torn down, and thepreempting talkgroup commandeers the channels for its own use.Particular implementations disclosed herein may take an alternativeapproach to communicating with groups of users by, for example, definingpriority talkgroups, which may occur at the administrator level andwhich may be dynamically redefined as needed.

In particular implementations disclosed herein, instead of establishingpriority on the network level, priority may be established on a devicelevel. More specifically, particular implementations may allow for amanagement function at the device level that defines a prioritytalkgroup for the device such that the device is brought into whichevertalkgroup is its priority talkgroup when that talkgroup starts up.Consequently, communication may be established or terminated withpriority talkgroups at a device level based on information that thedevice receives from a control channel that indicates which talkgroupshave become active or inactive. Whenever a priority talkgroup is active,upon receiving a signal indicating that the priority talkgroup isactive, the device may automatically switch from its current function ortalkgroup and automatically join and listen to the priority talkgroup.Thus, particular implementations disclosed herein may be device-based asopposed to network-based.

Referring now to FIG. 1, a network 100 may facilitate communicationbetween communication devices using one or more communication methods.Specifically, FIG. 1 illustrates a block diagram of a network forsatellite-based communication using one or more communication methods.Network 100 may comprise a plurality of satellites 110, each of whichmay permit the exchange of information and services among devices thatare connected via satellites 110. Network 100 may also comprise aplurality of satellite links 115 (e.g., Earth-based satellite dishes,vehicle-based satellite dishes, high-power transmitters and receivers,antennas, Earth terminals, teleports) that may be configured tocommunicate with the one or more satellites 110 and relay data back andforth with the one or more satellites 110. In certain implementations,network 100 may comprise a plurality of cross-linked satellites 110 thateffectively form a network between satellites 110 across whichcommunications can be transferred. In other implementations, forexample, network 100 may comprise one or more satellites 110 and eachsuch satellite 110 may not directly connect to another satellite 110. Insuch other implementations, each satellite 110 may have a “bent pipe”architecture in which satellites 110 may only connect indirectly withone another through terrestrial-based systems, for example.

In addition, network 100 may comprise one or more management centers 130(e.g., a Network Operations Center (“NOC”) and/or a gateway forinterfacing the satellite-based portion of network 100 to one or moreterrestrial-based portions of network 100) configured to connect to atleast one of the plurality of satellites 110. A management center 130may comprise one or more locations (e.g., devices) that may monitor,control, or manage network 100. Each management center 130 may manageand monitor one or more satellites 110. For example, management center130 may control movement or positioning of a satellite 110, may receiveand monitor communications between a satellite 110 and other devices, ormay determine when satellite 110 needs maintenance. In someimplementations, a dedicated management center 130 may be establishedfor each satellite 110. Alternatively, in some other implementations, amanagement center 130 may manage and monitor a plurality of satellites110. In such implementations, management center 130 may connect directlywith only one satellite 110 that is within range for directcommunication with management center 130 via satellite link 115, orpossibly a few satellites 110 that are within range of satellite link115, and management center 130 may indirectly manage and control othersatellites 110 in network 100 through cross-linked communicationsbetween the satellite (or satellites) 110 within range of satellite link115 and satellites 110 outside of the range for direct communicationwith management center 130 via satellite link 115.

In some implementations, one or more satellites 110 may maintain ageostationary orbit, and management center 130 may always directlycommunicate, via satellite link 115, with the same satellite 110 thatalways remains in a geostationary position within range for directcommunication with management center 130 via satellite link 115, forexample. In other implementations, one or more satellites 110 may notmaintain a geostationary orbit, and management center 130 may directlycommunicate with different satellites 110 at different times based onwhich satellite 110 or satellites 110 are within range for directcommunication with management center 130 via satellite link 115 at anygiven time. Such satellites may be Low Earth Orbiting (“LEO”)satellites, for example.

Management center 130 may be connected to one or more clouds 140, whichmay be public clouds, private clouds, or community clouds. Each cloud140 may permit the exchange of information and services among devices(e.g., management center 130) that are connected to such clouds 140. Incertain implementations, cloud 140 may be a wide area network, such asthe Internet. In some implementations, cloud 140 may be a local areanetwork, such as an intranet. Further, cloud 140 may be a closed,private network in certain implementations, and cloud 140 may be an opennetwork in other implementations. Cloud 140 may facilitate thetransmission of information among users or devices (e.g., managementcenter 130, devices 120) that are connected to cloud 140 through anynumber of communication means, such as wireless transmission ofinformation or wired transmission of information, for example.Management center 130 may integrate signals or data from satellites 110with terrestrial systems, such as cellular networks, the public switchedtelephone network (“PSTN”), and/or the Internet via cloud 140, forexample.

One or more devices 120 may connect with management center 130. Suchdevices 120 and management center 130 may transmit data therebetween.Devices 120 may include, for example, one or more general purposecomputing devices, specialized computing devices, mainframe devices,wired devices, wireless devices, monitoring devices, infrastructuredevices, other devices configured to provide information to serviceproviders and users, telephones, mobile phones, computer devices, tabletcomputers, personal digital assistants, routers, switches, and any othersuitable communication device. In certain implementations, for example,a device 120 connected with management center 130 may function as amanagement center and may mange a plurality of talkgroups (described inmore detail below) assigned to a plurality of devices, such ascommunication devices 150 (described below in more detail), ororganizations. In such implementations, the device 120 may establish,for example, connection orders for such talkgroups, priority settingsfor such talkgroups, home settings for such talkgroups, securitysettings or keys for such talkgroups, or other protocols for talkgroups.

Network 100 may include a plurality of gateways 135. Gateways 135 mayfunction similarly to management center 130, except that gateways 135may not have rights to control satellites 110 or responsibilities tomanage satellites 110. In certain implementations, gateways 135 maycommunicate with satellites 110 via satellite links 115. In otherimplementations, gateways 135 may utilize other methods requiring lessinfrastructure, such as low power antennas, transmitters, or receivers,to communicate with satellites 110. For example, gateways 135 may serveas bridges between satellites 110, cloud 140, and devices 120 and maypermit the free (or controlled) flow of data therebetween.

Network 100 may include a plurality of communication devices 150.Similar to devices 120, communication devices 150 may include, forexample, one or more general purpose computing devices, specializedcomputing devices, mainframe devices, wired devices, wireless devices,monitoring devices, infrastructure devices, other devices configured toprovide information to service providers and users, telephones, mobilephones, computer devices, tablet computers, personal digital assistants,routers, switches, and any other suitable communication device.Communication devices 150 may be configured to collect data from orprovide data to one or more data sources (e.g., servers, networks,interfaces, other devices). For example communication devices 150 maycollect information from network 100, management center 130, satellitelink 115, satellites 110, and other devices connected to satellites 110,such as other communication devices 150. By collecting this information,communication devices 150 may perform one or more tasks associated withtalkgroups, as discussed in more detail below, and other communicationmethods.

More particularly, communication devices 150 may establish directcommunication with satellites 110 orbiting above their terrestrialpositions. Accordingly, communication devices 150 may utilize satellites110 to establish communication with other communication devices 150,with management center 130, with cloud 140, with devices 120, withgateway 135, and with any other suitable device or system. Communicationdevices 150 may include features similar to those of devices 120 and maysimilarly communicate with management centers 130 and gateways 135 incertain implementations.

Network 100 may be configured to facilitate PTT communication. PTTcommunication is a method of communicating that, in someimplementations, may use half-duplex communication lines in which acommunication device, such as a communication device 150, switchesbetween a dedicated transmission mode and a dedicated reception mode,for example, for the purposes of communicating with one or more othercommunication devices that collectively may be referred to as atalkgroup. In some implementations of PTT communication, thecommunication device may be in the dedicated reception mode by defaultand may switch to the dedicated transmission mode only while a “talk”button is pushed or otherwise activated. In other implementations of PTTcommunication, the communication device may switch from the dedicatedreception mode to the dedicated transmission mode in response to a firsttrigger, such as the selection of the dedicated transmission mode on thecommunication device, the detection of a particular sound (e.g., auser's voice, a particular word or command, a particular tone), or thereceipt of any other instruction or command to switch to the dedicatedtransmission mode, and the communication device may remain in thededicated transmission mode until a second trigger occurs and thecommunication device switches to the dedicated reception mode inresponse thereto. For example, the second trigger may include theselection of the dedicated reception mode on the communication device,the lapse of a particular period of time (e.g., 30 seconds, 1 minute, 5minutes, 30 minutes, 1 hour) in the dedicated transmission mode, theabsence of a particular sound (e.g., the user's voice), the detection ofa particular sound (e.g., a particular word or command, a particulartone), or the receipt of any other instruction or command to end thededicated transmission mode or to switch to the dedicated receptionmode. In some instances, when a communication device is in the dedicatedtransmission mode, the device may be said to “have the floor” of thetalkgroup.

Throughout this disclosure, PTT communications and communications moregenerally are described often in the context of voice communications.However, the systems and techniques described herein are not limited tocommunications involving voice. Rather, the systems and techniquesdescribed herein, and particularly the priority talkgroup functionality,are more generally applicable to all forms of communication, includingdata communication. In fact, in some implementations, the communicationdevices engaging in PTT communications may not be user devices such ashandsets and the like, but instead may be machine-to-machine (“M2M”) orother data communication devices that, for example, generally may bereferred to as facilitating the “Internet of Things” (“IoT”). Forinstance, the communication devices may interface with sensors or othertypes of data processing and/or generating devices and may be configuredto participate in PTT communication sessions, for example, involving oneor more other communication devices, to share data. In suchimplementations, the communication devices still may exchange data withother communication devices within a talkgroup using PTT techniques, andthe communication devices still may employ the priority talkgrouptechniques described herein. Furthermore, while the term “PTT” or“push-to-talk” may suggest that something (e.g., a button) must be“pushed” (and, in some cases, held) in order for a communication deviceto “take the floor” or otherwise communicate in a dedicated transmissionmode in a talkgroup, that is not necessarily the case. As describedherein, there are various other mechanisms through which communicationdevices can “take the floor” or otherwise communicate in a dedicatedtransmission mode in a talkgroup, particularly in implementations wherethe communication devices are not user devices but instead are M2M orother data communication devices.

PTT communication may facilitate communication between a plurality ofdevices, such as communication devices 150, by establishingcommunication protocols that govern which communication device 150 “hasthe floor” (e.g., is set to a dedicated transmission mode) and whichcommunication device or devices 150 are listening (e.g., are set to thededicated reception mode). Consequently, PTT communication mayefficiently allocate communication roles (e.g., either being in adedicated transmission mode or being in a dedicated reception mode)among a group of communication devices 150.

In some implementations of PTT communication, communication systemsother than or in addition to half-duplex communication lines may beused. For example, some implementations of PTT communication may utilizetwo-way (or full) duplex communication lines in which a plurality ofcommunication devices 150 may simultaneously be in transmission modes.In such alternative implementations, for example, users of a pluralityof communication devices 150 may speak simultaneously and may all beheard by users of other communication devices 150 connected with thespeaking users.

In PTT communication, communication may occur via one or more trafficchannels. A traffic channel may correspond to an electromagnetic wave,such as a radio wave, of a particular frequency. A plurality ofcommunication devices may connect to one or more traffic channel. Inparticular, a communication device set to the dedicated transmissionmode and connected to a particular traffic channel may transmit acommunication over the traffic channel, e.g., by transmitting anelectromagnetic wave at the frequency corresponding to the trafficchannel, to communication devices set to the dedicated reception mode ornetwork nodes (e.g., a satellite 110) connected to the traffic channel.For example, a user may speak into a first communication device set tothe dedicated transmission mode and connected to the traffic channel;the first communication device may encode the user's message in a radiosignal and transmit the radio signal over the traffic channel (e.g., toa satellite); one or more second communication devices set to thededicated reception mode and connected to the traffic channel mayreceive the radio signal (e.g., retransmitted by the satellite),including the encoded message, over the traffic channel; and the one ormore second communication devices may output the user's message in theuser's voice to the respective users of the one or more secondcommunication devices. In this manner, a communication device set to thededicated transmission mode and connected to the traffic channel maytransmit a communication (e.g., a voice communication, Morse code, adata packet) simultaneously to all (or some subset of all) othercommunication devices set to the dedicated reception mode and connectedto the traffic channel. As described below in more detail, PTTcommunication may utilize talkgroups, which function similar to thetraffic channels described above but allow communication betweencommunication devices set to a plurality of different traffic channels.

In some implementations of PTT communication, only one communicationdevice per traffic channel may be set to the dedicated transmission modeat a time. Consequently, if a communication device connected to atraffic channel is set to the dedicated transmission mode, the othercommunication devices connected to the traffic channel may not switch tothe dedicated transmission mode until the communication device set tothe dedicated transmission mode is switched to the dedicated receptionmode or otherwise deactivated, even if a first trigger for switching oneof the other communication devices to the dedicated transmission modeoccurs. For example, if pushing a particular button on a particularcommunication device is the first trigger for switching the particularcommunication device to the dedicated transmission mode, in such animplementation, pushing the particular button may not switch theparticular communication device to the dedicated transmission mode untilafter the communication device currently set to the dedicatedtransmission mode is switched to the dedicated reception mode orotherwise deactivated. In some implementations, when a first trigger forswitching one of the other communication devices to the dedicatedtransmission mode occurs, the first trigger may also serve as a secondtrigger for switching the communication device currently in thededicated transmission mode to the dedicated reception mode, which mayallow one of the other communication devices to switch to the dedicatedtransmission mode.

PTT communication also may utilize a control channel that may carryinformation about each of a plurality of traffic channels. The controlchannel may correspond to an electromagnetic wave, such as a radio wave,of a dedicated frequency. The control channel may provide a data streamincluding, for example, information about one or more of the availabletraffic channels or about the traffic channels in aggregate. Suchinformation may include, for example, the number of available trafficchannels and the frequencies of available traffic channels.Alternatively or additionally, the data stream may include informationabout communication devices associated with the one or more availabletraffic channels including, for example, the number of communicationdevices connected to or waiting for each traffic channel, the types ofcommunication devices connected to or waiting for each traffic channel,the length of time one or more communication devices have been connectedto each traffic channel, whether a communication device connected to aparticular traffic channel is set to the dedicated transmission mode,which communication device is currently set in a dedicated transmissionmode on a particular traffic channel, the length of time a communicationdevice has been set in a dedicated transmission mode on a particulartraffic channel, the length of time a particular traffic channel hasbeen active (e.g., an aggregate length of time that one or morecommunication devices have been set in a dedicated transmission mode ona particular traffic channel), which communication device is currentlyset in a dedicated reception mode on a particular traffic channel,whether each traffic channel is available, and other information aboutthe communication devices connected to the traffic channels.

In implementations of PTT communication utilizing talkgroups, thecontrol channel data stream may include information including, forexample, information identifying whether a traffic channel is assignedto a talkgroup, information identifying traffic channels assigned toparticular talkgroups, and other information about the traffic channelsand any talkgroups to which traffic channels are assigned. Suchinformation may allow communication devices to connect with or remainconnected to talkgroups as the frequencies or traffic channelsassociated with the talkgroups are reallocated and as the communicationdevices move relative to satellites 110 (or as satellites 110 moverelative to the communication devices) and the respective beams thereof,which may, for example, result in handoffs being made between beams,satellites, etc.

As described below in more detail, talkgroups may be characterized aseither active talkgroups (sometimes referred to as “live” talkgroups) orinactive talkgroups (sometimes referred to as “dead” talkgroups). Forexample, active talkgroups may be talkgroups on which activecommunication is currently occurring (e.g., a user is currently speakinginto a communication device connected to a talkgroup and thecommunication device is transmitting the spoken audio in a dedicatedtransmission mode) or on which active communication has occurred withina particular period of time. Similarly, inactive talkgroups may betalkgroups on which active communication is not currently occurring(e.g., no communication devices are connected to the talkgroup andtransmitting in a dedicated transmission mode) or on which activecommunication has not occurred within a particular period of time.

In some instances, a talkgroup may be determined to be active even ifactive communication (e.g., speaking, data transmission) is notcurrently occurring (or has not occurred within the particular period oftime) within the talkgroup. For example, communication devices maydetermine whether a talkgroup is active or inactive based on informationfrom the control channel indicating whether one or more traffic channelsare currently allocated to the talkgroup (or have been allocated to thetalkgroup) within the particular period of time, rather than determiningwhether active communication is actually occurring (or has occurredwithin the particular period of time). For example, if control channel 0provides information indicating that traffic channel 1 is currentlyallocated to talkgroup A or has been allocated to talkgroup A within aparticular period of time (e.g., within the last 10 seconds), then acommunication device 150 listening to control channel 0 may determinethat talkgroup A is an active talkgroup. Alternatively, if controlchannel 0 provides information indicating that no traffic channels arecurrently allocated to talkgroup A or that no traffic channels have beenallocated to talkgroup A within the particular period of time, then acommunication device 150 listening to control channel 0 may determinethat talkgroup A is an inactive talkgroup.

In some implementations, traffic channels may be allocated to atalkgroup in response to a request from a communication deviceprovisioned to participate in the talkgroup. For example, if thetalkgroup is inactive, no traffic channels may be currently allocated tothe talkgroup. In response to a communication device that is provisionedto participate in the talkgroup requesting to participate in thededicated transmission mode, one or more traffic channels may beallocated to the talkgroup to enable communications over the talkgroup.Thereafter, traffic channel(s) may be maintained for the talkgroup untilno devices provisioned to participate in the talkgroup have participatedin the talkgroup in the dedicated transmission mode for more than somedefined threshold period of time. After the defined threshold period oftime elapses with no device provisioned to participate in the talkgrouphaving participated in the talkgroup in the dedicated transmission mode,the traffic channel(s) allocated to the talkgroup may be torn down andthe talkgroup may transition back to an inactive status.

In some implementations, data transmitted in the control channel mayexplicitly define whether a talkgroup is active or inactive. Forexample, in some implementations, a centralized entity (e.g., managementcenter 130) may determine whether a talkgroup is active or inactive(e.g., based on whether active communication is occurring or hasoccurred within a defined period of time within the talkgroup) andtransmit an indication of whether the talkgroup is active or inactivewithin the control channel.

A plurality of talkgroups may be available to particular communicationdevices or users. For example, available talkgroups for particularcommunication devices or users may be provisioned by management center130, gateway 135, or a device 120 based on the communication devices' orusers' affiliation with an organization. As an example, one set ofavailable talkgroups may be provisioned for users or devices affiliatedwith a particular branch or division of the U.S. military, while anotherset of available talkgroups may be provisioned for a petroleumprospecting company, and still another set of available talkgroups maybe provisioned for employees or aircraft of an airline. Each set ofavailable talkgroups may include a plurality of talkgroups that may onlybe accessible (e.g., available) to devices or users associated with theorganization to which the respective set of available talkgroups wasprovisioned. Relatedly, each device or user associated with a particularorganization to which a set of available talkgroups has been provisionedonly may be granted access to a subset of less than all of the availabletalkgroups provisioned for the particular organization. Nevertheless, insome implementations, multiple different sets of available talkgroupsmay utilize common beams and/or traffic channels, but utilization of thebeams and/or traffic channels may be dynamically allocated such thateach individual set of available talkgroups remains accessible only todevices or users associated with the organization to which theindividual set of available talkgroups was provisioned. Further, in someimplementations, each set of available talkgroups may be affiliated withone or more control channels that carry information about such availabletalkgroups. In other implementations, certain talkgroups may only beavailable using a particular access code, for example.

A plurality of communication devices may connect to a control channel,and the data transmitted in the control channel may enable eachcommunication device of the plurality of communication devices (or eachuser thereof) to select a traffic channel to which such communicationdevice may connect and to determine whether such communication devicemay be switched to the dedicated transmission mode at a particularinstant in time. In some implementations, the control channel may evenprovide commands or assignments for particular communication devices toconnect with particular traffic channels, such as when a “go topriority” or “go to favorite” feature is activated as discussed below.Further, the control channel or a similar channel may be used forestablishing a connection between a first set of one or morecommunication devices and a second set of one or more communicationdevices through the Internet or another data network.

In some implementations, communication devices may continuously monitorthe control channel. In other implementations, communication devices mayselectively or periodically access the control channel, such as when asetting is changed or requested to be changed in the communicationdevice (e.g., changing or requesting to change between a dedicatedtransmission mode and a dedicated reception mode, changing or requestingto change between talk groups), when the communication device isactivated or removed from a sleep or hibernation state, or atpredetermined or specified intervals of time. In some implementations,the data in the control channel may be continuously transmitted (e.g.,broadcast) to the connected communication devices. In otherimplementations, the data in the control channel may be periodically orintermittently transmitted (e.g., broadcast) to the connectedcommunication devices. Additionally or alternatively, the data in thecontrol channel may be transmitted (e.g., broadcast) to the connectedcommunication devices in response to the occurrence of or when certainevents occur, such as a new communication device connecting to thecontrol channel or when a communication device is activated or switchesbetween the reception mode and the transmission mode, for example.

In satellite-based implementations of PTT communication systems,satellite 110 may generate one or more beams or spot beams that enablethe satellite to transmit and/or receive one or more different datasignals within each beam. Such beam(s) may create a footprint spanning aparticular geographic region of the Earth. The footprint may be based onthe characteristics of a satellite 110's antenna, such as the antenna'sgain pattern, transmission power, transmit and/or receive frequencies,and the efficiency or quality of the antenna, for example. In someimplementations, the radius of the particular geographic region withinthe footprint of a particular beam may be about 400 km. In otherimplementations, the radius of the particular region may besubstantially less than or greater than 400 km based on factors such asthe transmission power associated with the particular beam and sourcesof interference (e.g., mountains, trees, buildings, electromagneticradiation sources). In some implementations, each satellite 110 mayprovide a plurality of beams, and each such beam may be directed to adifferent geographic region. Certain satellites 110 may move relative tothe Earth over time, such that the geographic regions within thefootprints of the satellites' 110 beams also change over time. Othersatellites 110 may be geostationary, and the geographic regions withinthe footprints of the satellites' 110 beams may remain fixed in time orat least fixed for periods of time. Moreover, some satellites 110 may beconfigured to direct one or more beams to cover different geographicregions or to change power characteristics, such that the size of thegeographic regions within the footprint(s) of the beam(s) may change.

Each beam may include a plurality of carriers (e.g., channels,frequencies), for example. In some implementations, frequencies may beassigned within the full spectrum of the beam, and such frequencies maybe shared by communication devices within the footprint of the beam. Inother implementations, frequencies may be assigned within only a portionof the full spectrum of the beam. Each beam may include one or morecontrol channels (e.g., control channel 0) and a plurality of trafficchannels (e.g., traffic channels 1, 2, 3, and 4). Accordingly, the oneor more control channels and the plurality of traffic channels includedin a particular beam may be available to the communication deviceswithin the footprint of the particular beam. In some instances, however,interference sources may prevent some communication devices within thefootprint of the particular beam from accessing the one or more controlchannels and/or the plurality of traffic channels in the particularbeam.

In some implementations, beams from different satellites may createfootprints that overlap with one another. In such cases, eachcommunication device in such an overlapping region may only receiveinformation from one control channel at a time. Consequently, thecommunication devices may be configured to select between the controlchannels associated with overlapping beams based on certain criteria.Such criteria may include, for example, one or more of the relativestrength of the signal received from each beam (e.g., there may be apreference to select the control channel corresponding to the beam witha higher strength), whether the strength of the control channelcurrently being monitored is less than or equal to a particular signallevel (e.g., there may be a preference to stay connected with thecurrent beam until the signal strength of the beam becomes too low), anda determination of whether the communication device is currentlycommunicating with other communication devices within the footprint ofone of the beams (e.g., there may be a preference to stay connected withthe current beam to maintain uninterrupted communication with the othercommunication devices).

FIG. 2 shows a schematic of one example of a satellite-basedimplementation of a PTT system. As shown in FIG. 2, each ofcommunication devices 150 may monitor control channel 0. Somecommunication devices 150, such as communication devices 150 a and 150b, may be set to transmit or receive communications via traffic channel1. Other communication devices 150, such as communication device 150 c,may be set to transmit or receive communications via traffic channel 2.Still other communication devices 150, such as communication device 150d, may be set to transmit or receive communications via traffic channel3. Additional communication devices 150, such as communication devices150 e and 150 f, may be set to transmit or receive communications viatraffic channel 4. Certain communication devices 150, such ascommunication device 150 g, may not be set to transmit or receivecommunications via any of traffic channels 1-4. Furthermore, thesettings of communication devices 150 a-g may be changed, such that oneor more of communication devices 150 a-g may be reset to transmit orreceive communications via different ones of traffic channels 1-4 thanthose shown in FIG. 2.

PTT communication systems, such as network 100, may utilize a trunkedradio system including a plurality of talkgroups. The trunking functionmay be implemented by a device 120 or by management center 130, forexample. In some implementations, a talkgroup may be implementedgenerally using a communication channel within a trunked radio systemthat may function the same as or similarly to a traffic channel asdescribed above; however, in some implementations, unlike a trafficchannel assigned to a particular radio frequency, a particular talkgroupmay utilize different radio frequencies at different times. A trunkedradio system may include a control channel and a limited number oftraffic channels. Nevertheless, systems other than trunked radio systemsmay also be used to implement aspects of this disclosure.

In some implementations, communication devices system may monitor thecontrol channel to determine available traffic channels (e.g., trafficchannels without current communication activity such as connecteddevices or active communication transmissions from devices set in adedicated transmission mode). When a communication device is set to aparticular talkgroup, the communication device may either assign anavailable traffic channel to the particular talkgroup or identify atraffic channel currently assigned to the particular talkgroup.Thereafter, the communication device may begin transmitting or listeningon the traffic channel assigned to the talkgroup set on thecommunication device.

Referring to FIG. 2, communication devices 150 a and 150 b may both beparticipating in the same talkgroup, for example. Moreover, each ofcommunication devices 150 a-150 g may be provisioned to participate in aplurality of talkgroups, such that communication devices 150 a-150 g mayswitch back and forth between talkgroups. For example, communicationdevice 150 a may be provisioned to participate in a talkgroup currentlyactive on traffic channel 4 and, consequently, may switch into thattalkgroup to communicate with communication devices 150 e and 150 f.

An example of a process of establishing communication via a talkgroup isshown in FIG. 3. In S301, a communication device may be set to aparticular talkgroup, such as a talkgroup A, for example. Thereafter, inS305 the communication device may determine which traffic channel to useto connect the communication device to talkgroup A. For example, thecommunication device may analyze the information from a control channel,such as control channel 0, to determine if a traffic channel already hasbeen assigned to talkgroup A (e.g., because other devices are currentlyconnected to talkgroup A or communicating in talkgroup A). If a trafficchannel already has been assigned to talkgroup A, the communicationdevice may use the information from control channel 0 to determine whichtraffic channel is currently associated with talkgroup A. If a trafficchannel has not already been assigned to talkgroup A, the communicationdevice may request that a traffic channel be assigned to talkgroup A.After determining which traffic channel is associated with talkgroup Ain S305, the communication device may connect to the assigned trafficchannel in S309 and may begin transmitting or listening within talkgroupA.

Management center 130, gateway 135, or a device 120 may be responsiblefor associating a particular traffic channel with talkgroup A andtransmitting this information out through control channel 0 to bereceived by communication devices 150, for example. Consequently, thisinformation may be added to the control channel and the control channelmay include information identifying the particular traffic channelassigned to talkgroup A. This information may be used by othercommunication devices when such communication devices perform S305 afterbeing set to talkgroup A in S301.

Communication devices may disconnect from a talkgroup by switching toanother talkgroup, entering a sleep or hibernation mode, or beingdeactivated, for example. Accordingly, once all of the devicespreviously connected to a particular talkgroup disconnect from theparticular talkgroup or when no communication is currently beingperformed via the particular talkgroup (e.g., there are no devicestransmitting in a dedicated transmission mode via the particulartalkgroup or no devices have transmitted in a dedicated transmissionmode via the particular talkgroup for a defined period of time), thetraffic channel assigned to the particular talkgroup may becomeavailable for use by other talkgroups or for other communicationmethods. In some implementations, there may be a predetermined orselectable delay period between the time when all of the devices havedisconnected from the talkgroup or the time when communication via thetalkgroup has terminated and the time when the traffic channel assignedto the particular talkgroup becomes available for use by othertalkgroups (e.g., 1 second, 5 seconds, 1 minute, 5 minutes). When adelay period exists, control channel 0 may also wait for the delayperiod before providing information that the traffic channel previouslyassigned to the particular talkgroup is available and that theparticular talkgroup currently is not established.

In the manner described above, traffic channels may be dynamicallyallocated among talkgroups to efficiently reduce instances in whichtraffic channels are unused and to reduce the duration of such disuse.Further, certain users of network 100 may desire more securecommunications. By giving these users access to particular talkgroupsthat frequently cycle through different traffic channels, these usersmay be able to communicate more securely than would otherwise bepossible over a static traffic channel.

Traffic channels and control channels may support data transmission andvoice transmission in certain implementations. In some implementations,talkgroups may be dynamically repurposed from voice transmission totransmission of data packets other than those carrying voice data andback to voice transmission as desired. In particular implementations,voice transmission may not be possible on a talkgroup when datatransmission other than data packets for voice transmission occurs, anddata transmission other than data packets for voice transmission may notbe possible when voice transmission occurs.

In particular implementations, a priority talkgroup may be assigned toeach communication device (e.g., communication devices 150) in a PTTcommunication network. In alternative implementations, a prioritytalkgroup may be assigned to some but not all communication devices in aPTT communication network. For example, an administrator at managementcenter 130 may perform this function, and the communication device(s)may be provisioned with their relevant priority talkgroups over the airthrough network 100. In certain implementations, the priority talkgroupsassigned to devices are not static and may be reassigned dynamically. Insome implementations, an individual user of a communication device maynot have the ability to override the assignment of a priority talkgroupand may not be able to change to another talkgroup or function whencommunication via the priority talkgroup is occurring.

In some implementations, the priority talkgroup may be a singletalkgroup (e.g., talkgroup A) in which all communication devicesassociated with the priority talkgroup are provisioned to participate.In other implementations, the priority talkgroup assigned to eachcommunication device may be different for different communicationdevices (e.g., talkgroup A for communication device 150 a, talkgroup Bfor communication devices 150 b and 150 c, talkgroup C for communicationdevice 150 d). In such implementations, for example, certaincommunication devices may not be provisioned to participate in alltalkgroups assigned as priority talkgroups (e.g., communication device150 a may be provisioned to participate in any of talkgroups A, B, C,and D, communication device 150 b may be provisioned to participate inonly talkgroups B and D, communication device 150 c may be provisionedto participate in only talkgroups B and C, communication device 150 dmay be provisioned to participate in only talkgroups A, C, and D). Infurther implementations, some communication devices provisioned toparticipate in a PTT network may be assigned a priority talkgroup, andother communication devices provisioned to participate in the same PTTnetwork may not be assigned a priority talkgroup.

In particular implementations, when a particular communication devicebegins communicating in the talkgroup that has been assigned as thepriority talkgroup for one or more other communication devices, theother communication devices for which that talkgroup has been assignedas a priority talkgroup may receive information from the control channelindicating that the particular communication device is communicating inthe priority talkgroup, and each such communication device mayautomatically switch to a listening mode (e.g., the dedicated receptionmode) in the talkgroup assigned as the priority talkgroup for thatcommunication device. For example, when talkgroup A is assigned as thepriority talkgroup for a number of communication devices and a firstcommunication device provisioned to participate in talkgroup Aestablishes communication over talkgroup A (e.g., requests thattalkgroup A be instantiated and/or requests to enter the dedicatedtransmission mode for talkgroup A), all other member devices willautomatically switch to talkgroup A from their current talkgroup(s) andbe placed into the listening mode for the duration of communication ontalkgroup A (e.g., while at least one communication device istransmitting on talkgroup A, for a predetermined time after acommunication device stops transmitting on talkgroup A, until anotification that the priority communication is over has been made,until the communication device that initially switched to the prioritytalkgroup switches to another talkgroup). In some implementations, aftercommunication over the priority talkgroup has ended (e.g., the talkgroupbecomes inactive), each device may automatically return to the talkgroupor function to which that device was set immediately prior toautomatically being switched to the priority talkgroup.

In some implementations, communication in a priority talkgroup may beestablished by one or more communication device transmitting a “go topriority” command. For example, a communication device may transmit a“go to priority” command to the PTT network in response to thedepression of a button or other selection on the communication device.Information regarding the “go to priority” command may subsequently bepushed out over the control channel to other communication devices inthe priority talkgroup. In response to receiving the informationregarding the “go to priority” command, each other device in thepriority talkgroup with the device that transmitted the “go to priority”command may automatically switch to the listening mode in the talkgroupassigned as the priority talkgroup for that communication device. Insuch implementations, each member device of the priority talkgroup mayremain set to that device's priority talkgroup until receiving a “leavepriority” command or some other indication that the prioritycommunication has ended. In certain implementations, each device mayautomatically return to the talkgroup or function to which that devicewas set immediately prior to switching to the priority talkgroup inresponse to receiving the “leave priority” command or other indicationthat the priority communication has ended. In particular implementationswhere priority talkgroups are established based on receiving a “go topriority” command (rather than detecting that a talkgroup defined as apriority talkgroup for a device has become active and automaticallyswitching to the priority talkgroup in response to such determination),one or more devices may remain set to the talkgroup assigned as thatdevice's priority talkgroup after receiving the “leave priority” commandor other indication that the priority communication has ended.

Particular implementations of a PTT communication system implementing apriority talkgroup feature now are disclosed in more detail with respectto FIGS. 4-6E.

FIG. 4 is a flow chart illustrating a method of handling prioritytalkgroups in a PTT system, in accordance with particularimplementations of the present disclosure.

In particular implementations, the method of handling prioritytalkgroups in a PTT system may be implemented within network 100, forexample to ensure or increase the probability that a particular group ofdevices receives a particular communication. Such communications may be,for example, emergency broadcasts, warnings, transmissions of criticaldata or software, monitored parameters, or any other information thatmay be desirable to communicate to the particular group of devicessimultaneously.

In S401, an administrator at an operation hub 130 (e.g., a managementcenter) may assign one or more priority talkgroup to one or morecommunication devices 150 provisioned to communicate using talkgroups onnetwork 100. As an example, the administrator may use a device 120connected to operation hub 130 to assign priority talkgroups. During theprocess of assigning priority talkgroups, device 120 may select one ofthe talkgroups provisioned to a communication device 150 and assign thattalkgroup as a priority talkgroup for the communication device 150.Likewise, device 120 may select one of the talkgroups provisioned toanother communication device 150 and assign that talkgroup as thepriority talkgroup for the other communication device 150. In someimplementations, the same talkgroup may be assigned as the prioritytalkgroup for both devices. In other implementations, differenttalkgroups may be assigned as the priority talkgroup for each device.Device 120 may repeat this process for a plurality of communicationdevices 150, such that a plurality of communication devices 150 areassigned to priority talkgroups. Satellites 110 may transmit informationspecifying the priority talkgroup assignments to communication devices150 via one or more control or other channels, and the communicationdevices 150 may store information about their priority talkgroupassignments locally (e.g., in memory or some other form of physicalstorage media).

In some implementations, device 120 may also select other talkgroupsprovisioned to the communication device 150 and assign those talkgroupsas other priority talkgroups for the communication device 150, such thata plurality of priority talkgroups are assigned to communication device150. Each of the plurality of priority talkgroups assigned tocommunication device 150 may have a different priority level, such thatthe plurality of priority talkgroups may be ordered from highestpriority to lowest priority. To facilitate the explanation of the methodof handling priority talkgroups, however, only one priority talkgroup isreferred to in the remaining description of FIG. 4.

In S403, the priority talkgroup may be activated. In someimplementations, the priority talkgroup may be activated by issuing a“go to priority” command from one of the communication devices 150 forwhich the talkgroup has been assigned as a priority talkgroup. In otherimplementations, the priority talkgroup may be activated by one of thecommunication devices 150 for which the talkgroup has been assigned asthe priority talkgroup 150 switching to the priority (e.g., requestingthat the priority talkgroup be instantiated or requesting to enter thededicated transmission mode in the priority talkgroup) or in response tothe communication device 150 transmitting over the talkgroup assigned asthe priority talkgroup for that communication device 150. In still otherimplementations, a communication device 150 may perform other actions tosignal activation of the priority talkgroup. Specifically, when thecommunication device 150 performs some action indicating that thepriority talkgroup is active, this information may be transmitted by thecontrol channel such that communication devices 150 provisioned toparticipate in the priority talkgroup and/or communication devices 150for which the priority talkgroup has been assigned as the prioritytalkgroup are aware of the activity related to the priority talkgroup.

In S405, other communication devices 150 for which the talkgroup hasbeen assigned as the priority talkgroup may receive from the controlchannel the information indicating that the priority talkgroup isactive. In response to receiving this information, each of thesecommunication devices 150 may immediately switch from its currentfunction and/or talkgroup to the dedicated reception mode for thetalkgroup assigned as the priority talkgroup for that device. Thisswitch may be mandatory in particular implementations. For example, auser of a communication device 150 may not be able to override theswitch. Consequently, all active communication devices 150 for which thetalkgroup has been assigned as the priority talkgroup (except for thecommunication device 150 that has the floor in the talkgroup) may beplaced in a state ready to receive communications over the prioritytalkgroup in such implementations. In some implementations, however,certain communication devices 150 that may already be participating in ahigher priority talkgroup may not switch to the newly-activated prioritytalkgroup, for example.

In S407, a communication device 150 may take the floor (e.g., transmitin the dedicated transmission mode) of the priority talkgroup such thatcommunications transmitted by the communication device 150 with thefloor are received by one or more satellites 110 and then broadcast byone or more satellites 110 to all communication devices 150 in thededicated reception mode for the priority talkgroup. This informationmay be voice communication or data communication in particularimplementations. Thus, the communication devices 150 assigned to thepriority talkgroup may participate in the priority talkgroup by eitherreceiving information broadcast over the priority talkgroup ortransmitting information over the priority talkgroup.

In certain implementations, the communication device 150 that initiallytakes the floor in the priority talkgroup may be the communicationdevice that initially activated the priority talkgroup. In someimplementations, the communication device 150 that takes the floor maymerely be a device that has switched to the dedicated transmission modewhile participating in the priority talkgroup.

In S409, the control channel may provide information indicating that thepriority talkgroup is inactive to the communication devices 150 assignedto the priority talkgroup. For example, the control channel may provideinformation indicating that active communication is not currentlyoccurring in the priority talkgroup (e.g., no communication devices aretransmitting in a dedicated transmission mode on the priority talkgroup)or that active communication has not occurred in the priority talkgroupwithin a particular period of time. Additionally or alternatively, thecontrol channel may provide other information that similarly indicatesthat the priority talkgroup is inactive, such as information indicatingthat a communication device 150 transmitted a “leave priority” command,for example. This information provided by the control channel mayfunction as a command to deactivate the priority talkgroup and/or thecommunication devices may determine to deactivate or switch out of thepriority talkgroup in response to receiving such information via thecontrol channel.

In S411, after receiving the information indicating that the prioritytalkgroup is inactive from the control channel, individual communicationdevices 150 for which the talkgroup is assigned as the prioritytalkgroup and that automatically switched over to the talkgroup mayleave the priority talkgroup and switch to the talkgroup and/or functionpreviously being used by the communication device 150 when thecommunication device 150 switched to the priority talkgroup.

Thereafter, the method of handling priority talkgroups may end untilpriority talkgroups are reassigned or the priority talkgroup isactivated again, for example.

In particular implementations, more than one priority talkgroup may beassigned for each communication device, such that each assigned prioritytalkgroup has a relative priority in relation to the other prioritytalkgroups assigned to the device. In certain implementations, anywherebetween 0 and 15 priority talkgroups may be assigned for any individualcommunication device. FIG. 5 is a table showing an exampleimplementation of the present disclosure in which a plurality ofcommunication devices are provisioned to participate in a plurality oftalkgroups and are assigned to a plurality of priority talkgroups. Basedon assignments made by an administrator (e.g., via device 120),satellites 110 may transmit information specifying the relative priorityof priority talkgroups to communication devices 150 via one or morecontrol or other channels.

For example, FIG. 5 shows an implementation in which communicationdevices 150 a-g may be provisioned to participate in one or more oftalkgroups A-J and may be assigned one or more of priority talkgroups1-4. The PTT administrator may set priority talkgroup 1 as the highestpriority talkgroup and assign talkgroup C as priority talkgroup 1 foreach of communication devices 150 a-g. Further, the PTT administratormay set priority talkgroup 2 as the second highest priority talkgroupand assign talkgroup H as priority talkgroup 2 for each of communicationdevices 150 a-c. Communication devices 150 d-g may not be assignedpriority talkgroup 2 as a second level priority talkgroup, for example.In addition, the PTT administrator may set priority talkgroup 3 as thethird highest priority talkgroup and assign talkgroup B as prioritytalkgroup 3 for each of communication devices 150 a,d,e. Communicationdevices 150 b,c,f,g may not be assigned to priority talkgroup 3 as athird level priority talkgroup, for example. The PTT administrator alsomay set priority talkgroup 4 as the fourth highest priority talkgroupand assign talkgroup E as priority talkgroup 4 for each of communicationdevices 150 e-g. Communication devices 150 a-d may not be assigned topriority talkgroup 4 as a fourth level priority talkgroup, for example.In the example of FIG. 5, the talkgroups that individual communicationdevices have been provisioned to participate within but that have notbeen assigned as priority talkgroups for the device may be referred toas non-priority talkgroups and may function as typical PTT talkgroups.

In some implementations, an individual one of communication devices 150a-g may be assigned its own priority talkgroup hierarchy that isdifferent and independent from the priority talkgroup hierarchy of otherones of communication devices 150 a-g. For example, communication device150 a may be assigned a three-level priority talkgroup hierarchy inwhich talkgroup C is communication device 150 a's highest level prioritytalkgroup followed by talkgroup H and talkgroup B. Meanwhile,communication device 150 b may be assigned a four-level prioritytalkgroup hierarchy in which talkgroup A is communication device 150 b'shighest level priority talkgroup followed by talkgroup B, talkgroup C,and talkgroup J.

FIGS. 6A-6E show examples of communication between communication devices150 a-g when communication devices 150 a-g are set to various ones oftalkgroups A-J in accordance with the talkgroup provisioning andpriority talkgroup assignments shown in the example implementation ofFIG. 5.

FIG. 6A shows a plurality of communication devices participating in aplurality of non-priority talkgroups. In FIG. 6A, communication devices150 a,b,e may be participating in talkgroup A, communication devices 150c,g may be participating in talkgroup F, and communication devices 150d,f may be participating in talkgroup J.

FIG. 6B shows a result of a transition by the communication devices fromthe non-priority talkgroups shown in FIG. 6A to a fourth highestpriority talkgroup. In FIG. 6B, communication device 150 g, for example,may switch to talkgroup E. Because talkgroup E is assigned as prioritytalkgroup 4, communication devices 150 e,f automatically switch fromtheir current talkgroup (e.g., talkgroups A and J, respectively) totalkgroup E, which is also assigned as priority talkgroup 4 forcommunication devices 150 e,f, and communication devices 150 e-g beginparticipating in talkgroup E. Communication devices 150 a,b may remainparticipants in talkgroup A, communication device 150 c may remain aparticipant in talkgroup F, and communication device 150 d may remain aparticipant in talkgroup J. Although not shown in FIG. 6B, because eachof communication devices 150 a-d are provisioned to participate intalkgroup E, one or more of communication devices 150 a-d may also beswitched by the device user to talkgroup E and begin participating intalkgroup E with communication devices 150 e-g. Nevertheless, unlikecommunication devices 150 e,f, such a switch to talkgroup E bycommunication devices 150 a-d may not be automatic.

Although communication device 150 g was described as the initialcommunication device to switch to talkgroup E in the example above, oneof communication devices 150 e,f could alternatively have been theinitial communication device to switch to talkgroup E. In this case, theother of communication devices 150 e,f and communication device 150 gwould automatically switch from their current talkgroup (e.g.,talkgroups A or J and F, respectively) to talkgroup E, and similarlybegin participating in talkgroup E.

In some implementations, once talkgroup E has been instantiated, theusers of one or more of communication devices 150 e-g may not switchtheir respective device(s) to a non-priority talkgroup. For example, theuser of communication device 150 f may not be permitted to switch thecurrent talkgroup of communication device 150 f to talkgroup B or J, andthe user of communication device 150 e may not be permitted to switchthe current talkgroup of communication device 150 e to talkgroup A, D,F, G, H, I, or J. In some implementations, for example, the user ofcommunication device 150 g may switch the current talkgroup to anon-priority talkgroup (e.g., talkgroup F) since communication device150 g initiated communication over talkgroup E. In such implementations,switching the current talkgroup of communication device 150 g fromtalkgroup E to a non-priority talkgroup (e.g., talkgroup F) may serve asa trigger for communication devices 150 e,f to respectively switch backto talkgroups A and J or otherwise permit communication devices 150 e,fto freely switch between talkgroups. In some implementations, the userof the communication device that initiated talkgroup E (e.g.,communication device 150 g in this example) may not be permitted toswitch the communication device to a non-priority talkgroup untiltalkgroup E itself has become inactive.

In other implementations, for example, an alternative event (e.g., notransmission on talkgroup E has occurred for a predetermined period oftime, talkgroup E has been active for at least a predetermined period oftime, a “leave priority” command has been received, the device thatinitiated talkgroup E is turned off or deactivated, no communicationdevice is currently transmitting in talkgroup E) may serve as a triggerfor communication devices 150 e-g to respectively switch back totalkgroups A, J, and F.

In certain implementations, even after having been switched to talkgroupE because of its assignment as priority talkgroup 4, one or more ofcommunication devices 150 e-g may be permitted to switch to a differenttalkgroup if that talkgroup is a higher priority talkgroup. For example,in such implementations, the user of communication device 150 e mayswitch the current talkgroup of communication device 150 e fromtalkgroup E to talkgroup B or talkgroup C, even when communicationdevice 150 e is participating in talkgroup E with communication devices150 f,g. Subsequently, communication devices 150 f,g may remain intalkgroup E if communication devices 150 f,g are not assigned to thehigher priority talkgroup. In other implementations, users of one ormore of communication devices 150 e-g may not be permitted to switch thetalkgroup of the communication device from talkgroup E when they havebeen switched into it because of its assignment as priority talkgroup 4and only may switch to a higher priority talkgroup when it isinstantiated by another device.

FIG. 6C shows a result of a transition by the communication devices fromthe talkgroups shown in FIG. 6B to a third highest priority talkgroup.In FIG. 6C, communication device 150 d, for example, may switch totalkgroup B. Because talkgroup B is assigned as priority talkgroup 3,communication devices 150 a,e automatically switch from their currenttalkgroup (e.g., talkgroups A and E, respectively) to talkgroup B, whichis also assigned as priority talkgroup 3 for communication devices 150a,e, and communication devices 150 a,d,e begin participating intalkgroup B. In other words, because talkgroup B has a higher prioritythan talkgroup E for communication device 150 e, communication device150 e will switch from talkgroup E to talkgroup B. Nevertheless,communication devices 150 f,g will remain participants in talkgroup E,for example, until priority communication in talkgroup E ends. Further,communication devices 150 b,c may remain in talkgroups A and F,respectively. Although not shown in FIG. 6C, because communicationdevice 150 b is provisioned to participate in talkgroup B, communicationdevice 150 b may also be switched by the device user to talkgroup B andbegin participating in talkgroup B with communication devices 150 a,d,e.Nevertheless, unlike communication devices 150 a,e, such a switch totalkgroup B by communication device 150 b may not be automatic.

Although communication device 150 d was described as the initialcommunication device to switch to talkgroup B in the example above,communication device 150 a, or communication device 150 e in someimplementations, could alternatively have been the initial communicationdevice to switch to talkgroup B. In this case, the other ofcommunication devices 150 a,e and communication device 150 d wouldautomatically switch from their current talkgroup (e.g., talkgroups A orE and J, respectively) to talkgroup B and similarly begin participatingin talkgroup B.

In some implementations, once priority talkgroup B is instantiated, theusers of one or more of communication devices 150 a,d,e may not switchtheir respective device(s) to a non-priority or lower-prioritytalkgroup. For example, the user of communication device 150 a may notbe permitted to switch the current talkgroup of communication device 150a to talkgroup A, D, E, F, G, I, or J, and the user of communicationdevice 150 e may not be permitted to switch the current talkgroup ofcommunication device 150 e to talkgroup A, D, E, F, G, H, I, or J. Insome implementations, however, the user of communication device 150 dmay be permitted to switch the current talkgroup to a non-prioritytalkgroup (e.g., talkgroup A, E, H, or J) since communication device 150d initiated communication over priority talkgroup B. Likewise, this mayserve as a trigger for communication device 150 a to switch back totalkgroup A and permit communication device 150 a to freely switchbetween talkgroups. If priority talkgroup E remains active, switchingcommunication device 150 d to a non-priority talkgroup may serve as atrigger for communication device 150 e to switch back to talkgroup E,but communication device 150 e may not be permitted to switch freelyamong talkgroups until priority talkgroup E becomes inactive, forexample due to talkgroup E's status as priority talkgroup 4. Iftalkgroup E is no longer active, switching communication device 150 d toa non-priority talkgroup may serve as a trigger for communication device150 e to switch back to talkgroup A and permit communication device 150e to freely switch between talkgroups.

In some implementations, even after having switched to talkgroup Bbecause of its assignment as priority talkgroup 3, users of one or moreof communication devices 150 a,d,e may be permitted to switch to ahigher priority talkgroup. For example, the user of communication device150 a may switch the current talkgroup of communication device 150 afrom talkgroup B to talkgroup H or C. Subsequently, communicationdevices 150 d,e may remain in talkgroup B if neither talkgroup H or C isassigned as a higher priority talkgroup for communication devices 150d,e. In other implementations, users of one or more of communicationdevices 150 a,d,e may not be permitted to switch the talkgroup of thecommunication device from talkgroup B when they have been switched intoit because of its assignment as priority talkgroup 3 and only may switchto a higher priority talkgroup when it is instantiated by anotherdevice.

FIG. 6D shows a result of a transition by the communication devices fromthe talkgroups shown in FIG. 6C to a second highest priority talkgroup.In FIG. 6D, communication device 150 b, for example, may switch totalkgroup H. Because talkgroup H is assigned as priority talkgroup 2 forcommunication devices 150 a,c, communication devices 150 a,cautomatically switch from their current talkgroup (e.g., talkgroups Band F, respectively) to talkgroup H and begin participating in talkgroupH. In other words, because priority talkgroup 2 has a higher prioritythan priority talkgroup 3, communication device 150 a will switch fromtalkgroup B to talkgroup H. Nevertheless, communication devices 150 d,emay remain participants in talkgroup E, for example until prioritytalkgroup 3 becomes inactive. Likewise, communication devices 150 f,gmay remain participants in talkgroup E until talkgroup 4 becomesinactive.

Although communication device 150 b was described as the initialcommunication device to switch to talkgroup H in the example above,communication device 150 c or communication device 150 a in someimplementations, could alternatively have been the initial communicationdevice to switch to talkgroup H. In this case, the other ofcommunication devices 150 a,c and communication device 150 b wouldautomatically switch from their current talkgroup (e.g., talkgroups B orF and A, respectively) to talkgroup H and begin participating intalkgroup H.

In some implementations, once talkgroup H is instantiated, the users ofone or more of communication devices 150 a-c may not switch theirrespective device(s) to a non-priority or lower-priority talkgroup. Forexample, the user of communication device 150 a may not be permitted toswitch the current talkgroup of communication device 150 a to talkgroupA, B, D, E, F, G, I, or J, and the user of communication device 150 cmay not be permitted to switch the current talkgroup of communicationdevice 150 c to talkgroup D, E, F, G, I, or J. In some implementations,however, the user of communication device 150 b may switch fromtalkgroup H to a non-priority talkgroup (e.g., talkgroup A, B, D, E, F,or G) since communication device 150 b initiated communication overtalkgroup H. Likewise, this may serve as a trigger for communicationdevice 150 c to switch back to talkgroup F and permit communicationdevice 150 c to freely switch between talkgroups. If talkgroup H remainsactive, switching communication device 150 b to a non-priority talkgroupmay serve as a trigger for communication device 150 a to switch back totalkgroup B because of its assignment as priority talkgroup 3 forcommunication device 150, but communication device 150 a may not bepermitted to switch freely among talkgroups until talkgroup B becomesinactive. If talkgroup B is no longer active, switching communicationdevice 150 b to a non-priority talkgroup may serve as a trigger forcommunication device 150 a to switch back to talkgroup A and permitcommunication device 150 a to freely switch between talkgroups.

Like the implementations described above with respect to FIG. 6C, usersof one or more of communication devices 150 a-c may be permitted toswitch from talkgroup H to a higher priority talkgroup. For example, theusers of communication devices 150 a-c may switch the current talkgroupof communication devices 150 a-c from talkgroup H to talkgroup C, evenwhen communication devices 150 a-c are participating in talkgroup H.

FIG. 6E shows a result of a transition by the communication devices fromthe talkgroups shown in FIG. 6D to a highest priority talkgroup. In FIG.6E, one of communication devices 150 a-g, for example, may switch totalkgroup C. Because talkgroup C is assigned as priority talkgroup 1 forcommunication devices 150 a-g, the others of communication devices 150a-g automatically switch from their current talkgroup (e.g., talkgroupsB, E, and H) to talkgroup C and begin participating in talkgroup C. Inother words, because priority talkgroup 1 has a higher priority thanpriority talkgroups 2-4, communication devices 150 a-c will switch fromtalkgroup H to talkgroup C, communication devices 150 d,e will switchfrom talkgroup B to talkgroup C, and communication devices 150 f,g willswitch from talkgroup E to talkgroup C.

In some implementations, once talkgroup C is instantiated, the users ofone or more of communication devices 150 a-g may not be permitted toswitch their respective devices to a non-priority or lower-prioritytalkgroup. In some implementations, however, the user of the one ofcommunication devices 150 a-g that initiated communication overtalkgroup C may be permitted to switch the current talkgroup tolower-priority talkgroup (e.g., talkgroups B, E, H), or even anon-priority talkgroup (e.g., talkgroups A, B, and D-J, depending onwhich communication device is being operated) in certainimplementations. Likewise, this may serve as a trigger for the others ofcommunication devices 150 a-g to switch back to an active,lower-priority talkgroup (if such priority talkgroup is still active orhas become activated since) or to a non-priority talkgroup.

In the example implementations shown in FIGS. 6A-6E, communicationdevices may determine whether their priority talkgroups are active basedon information received from the control channel.

As described above, talkgroups may be used to transmit voicecommunications or data communication. In some implementations,talkgroups may function as a mechanism for transmitting packets ofinformation. In some implementations, the packets of information mayinclude sound data that may be used to implement voice communication. Inother implementations, the packets of information may include datarepresenting other media, such as text, software, videos, and webpages,for example. In still other implementations, some talkgroups may carrypackets of information including sound data, and other talkgroups maycarry packets of information including data representing other media, ortalkgroups may be dynamically reallocated to carry these different typesof data packets as needed. In some implementations, the PTTadministrator may dynamically reallocate talkgroups between voicecommunication and data communication at the management center. In otherimplementations, users of communication devices may dynamicallyreallocate talkgroups between voice communication and data communicationat the communication devices themselves.

For example, a particular talkgroup may be responsible for transmittingcritical software patches to communication devices in a PTT network. Incertain implementations, this talkgroup may be assigned as a prioritytalkgroup, such that a network administrator can ensure or increase thelikelihood that all devices managed by the administrator will receivethe patch, and that all such devices will receive the patch atapproximately the same time. Such an implementation may facilitatenetwork management and improve network efficiency and security byreducing the number of unpatched communication devices in the PTTnetwork, for example.

Another example implementation of the priority talkgroup feature mayinclude an oil pipeline that needs to get parameter updates across largesections of the pipeline. Different monitoring devices and valves may bespread along the pipeline (e.g., 50 miles apart), and each of themonitoring devices and valves may need a firmware update or may needinformation about another valve in the pipeline. Similar to theimplementation described above, a priority talkgroup may be establishedfor pushing out the firmware update to all of the valves and monitoringdevices. In this manner, the monitoring devices and valves along theentire pipeline may be switched to the priority talkgroup at once, andthe firmware for all of the valves and the monitoring devices may besimultaneously updated, such that all of the valves and monitoringdevices have the same firmware version at the same time. Similarly, apriority talkgroup may be established for transmitting or requestingmonitored parameters (e.g., pressure, temperature) to/from monitoringdevices and/or valves. For example, one monitoring device may activate apriority talkgroup assigned to all other monitoring devices and send arequest for monitored parameters simultaneously to all monitoringdevices. This may be more efficient and use fewer resources thanindividually contacting all of the other monitoring devices andrequesting their monitored parameters, for example. Similarly, if avalve malfunctions, the associated monitoring device may activate thepriority talkgroup and send a notification of the malfunction to othervalves simultaneously, such that the other valves can take appropriateactions to prevent the malfunction from cascading.

Another example implementation of priority talkgroups may involve alarge number (e.g., hundreds) of aircraft over a large area. Eachaircraft may include a communication device assigned to a prioritytalkgroup, and each aircraft may use the priority talkgroup toeffectively broadcast its position to all of the other aircraft at givenintervals of time. For example, all of the devices in the prioritytalkgroup may receive this information in a manner similar to abroadcast, such that all of the aircraft are constantly receivingupdated position information related to the other aircraft.

FIG. 7A shows a schematic diagram of a mobile communication deviceconfigured to participate in a satellite communication system,including, for example, a satellite-based PTT system, in accordance withparticular implementations of the present disclosure. Communicationdevice 150 may include a central processing unit (“CPU”) 701A, a memory702A, and an input/output (“I/O”) device 703A.

Memory 702A may store computer-readable instructions that may instructCPU 701A to perform certain processes. Memory 702A may comprise, forexample, RAM, ROM, EPROM, Flash memory, a hard disk drive, a solid statedrive, or any suitable combination thereof. When executed by CPU 701A,the computer-readable instructions stored in memory 702A may instructCPU 701A to operate as one or more devices configured to performparticular functions. In certain implementations, memory 702A may storecomputer-readable instructions for performing any and all functions orprocesses described herein, and CPU 701A may execute suchcomputer-readable instructions and operate as one or more devicesconfigured to perform or control such functions or processes. Memory702A may store data, such as position information, information aboutprovisioned talkgroups, or connection information associated withnetwork 100, for example.

CPU 701A may execute the computer-readable instructions stored in memory702A, and the computer-readable instructions may instruct CPU 701A toperform or control a plurality of processes including, but not limitedto, one or more of the processes described with respect to FIGS. 3-5 and6A-6E and any other process described herein. Accordingly, CPU 701A maybe configured to perform a variety of processes, as discussed above inmore detail. For example, CPU 701A may be a processor, a controller, anapplication specific integrated circuit (“ASIC”), or a system comprisinga plurality of processors, controllers, or ASICs.

I/O device 703A may receive one or more of data from network 100, datafrom one or more other devices connected to communication device 150,and input from a user and provide such information to CPU 701A and/ormemory 702A. I/O device 703A may transmit data to network 100, maytransmit data to one or more other devices connected to communicationdevice 150, and may transmit information to a user (e.g., display theinformation or indicators thereof, provide audible indications of suchinformation). I/O device 703A may include, for example, one or more of atransceiver, a modem, a network card, a transmitter, a receiver, amicrophone, a speaker, an antenna, a light-emitting diode (“LED”), adisplay device, or any other device configured to provide or receiveinformation.

FIG. 7B shows a schematic illustration of a device 120 configured toimplement one or processes for managing communication in a satellitecommunication system, including, for example, a satellite-based PTTsystem, in accordance with particular implementations of the presentdisclosure. Device 120 may include a CPU 701B, a memory 702B, and an I/Odevice 703B. In some implementations, CPU 701B, a memory 702B, and anI/O device 703B may function similarly to CPU 701A, a memory 702A, andan I/O device 703A. In other implementations, CPU 701B, a memory 702B,and an I/O device 703B may have functionalities different from CPU 701A,a memory 702A, and an I/O device 703A.

Memory 702B may store computer-readable instructions that may instructCPU 701B to perform certain processes. Memory 702B may comprise, forexample, RAM, ROM, EPROM, Flash memory, a hard disk drive, a solid statedrive, or any suitable combination thereof. When executed by CPU 701B,the computer-readable instructions stored in memory 702B may instructCPU 701B to operate as one or more devices configured to performparticular functions. In certain implementations, memory 702B may storecomputer-readable instructions for performing any and all functions orprocesses described herein, and CPU 701B may execute suchcomputer-readable instructions and operate as one or more devicesconfigured to perform or control such functions or processes. Memory702B may store data, such as position information, information aboutprovisioned talkgroups, information about communication devices 150, oroperational information associated with network 100, for example.

CPU 701B may execute the computer-readable instructions stored in memory702B, and the computer-readable instructions may instruct CPU 701B toperform or control a plurality of processes including, but not limitedto, one or more of the processes described with respect to FIGS. 3-5 and6A-6E and any other process described herein. Accordingly, CPU 701B maybe configured to perform a variety of processes, as discussed above inmore detail. For example, CPU 701B may be a processor, a controller, anASIC, or a system comprising a plurality of processors, controllers, orASICs.

I/O device 703B may receive one or more of data from network 100, datafrom one or more other devices connected to communication device 120,and input from a user and provide such information to CPU 701B and/ormemory 702B. I/O device 703B may transmit data to network 100, maytransmit data to one or more other devices connected to communicationdevice 120, and may transmit information to a user (e.g., display theinformation or indicators thereof, provide audible indications of suchinformation). I/O device 703B may include, for example, one or more of atransceiver, a modem, a network card, a transmitter, a receiver, amicrophone, a speaker, an antenna, a LED, a display device, or any otherdevice configured to provide or receive information.

The flowcharts and diagrams in FIGS. 1-5 and 6A-6E illustrate examplesof the architecture, functionality, and operation of possibleimplementations of systems, methods and computer program productsaccording to various aspects of the present disclosure. In this regard,each block in the flowcharts or block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions for implementing the specified logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration, and combinations of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularaspects only and is not intended to be limiting of the disclosure. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “includes,”“comprises,” “including,” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof. Moreover, asused herein, the term “user” is intended to refer to one or more of aperson, an organization, a computer, or any other entity, apparatus,device, or system.

For example, the terms “communication device,” “communication system,”“device,” and “system” may generally refer to and include satellites110, satellite links 115, operation hubs 130, devices or systemsconnected with clouds 140, devices 120, gateways 135, communicationdevices 150, or any other devices or systems that facilitate thecommunication of information. Moreover, the terms “management center,”“management device,” and “management system” may generally refer to andinclude satellites 110, satellite links 115, management center 130,devices or systems connected with clouds 140, devices 120, gateways 135,communication devices 150, or any other devices or systems thatfacilitate managing the communication of information. In addition, theterm “satellite constellation” may refer to a single satellite or to aplurality of satellites.

While the techniques and implementations disclosed herein have generallybeen described in the context of satellite-based PTT communication, suchtechniques and implementations may readily be applied to othercommunication systems. For example, the techniques and implementationsdisclosed herein may be applied to cellular-based PTT communicationsystems, other terrestrial-based PTT communication systems, land mobileradio (“LMR”) communication systems, hybrid communication systems usingone or more of the communication systems described herein or apparent toone of skill in the art, or any other communication systems conceivableby one of skill in the art.

Aspects of the present disclosure may be illustrated and describedherein in any of a number of patentable classes or contexts includingany new and useful process, machine, manufacture, or composition ofmatter, or any new and useful improvement thereof. Accordingly, aspectsof the present disclosure may be implemented entirely in hardware,entirely in software (including firmware, resident software, micro-code,etc.) or in combinations of software and hardware that may all generallybe referred to herein as a “circuit,” “module,” “component,” or“system.” Furthermore, aspects of the present disclosure may take theform of a computer program product embodied in one or morecomputer-readable media having computer-readable program code embodiedthereon.

Any combination of one or more computer-readable media may be utilized.The computer-readable media may be a computer-readable signal medium ora computer-readable storage medium. A computer-readable storage mediummay be, for example, but not limited to, an electronic, magnetic,optical, electromagnetic, or semiconductor system, apparatus, or device,or any suitable combination of the foregoing. More specific examples (anon-exhaustive list) of such a computer-readable storage medium includethe following: a portable computer diskette, a hard disk, a randomaccess memory (“RAM”), a read-only memory (“ROM”), an erasableprogrammable read-only memory (“EPROM” or Flash memory), an appropriateoptical fiber with a repeater, a portable compact disc read-only memory(“CD-ROM”), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer-readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer-readable signal medium may be transmitted usingany appropriate medium, including but not limited to satellitecommunications, wireless, wireline, optical fiber cable, RF signals,etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programminglanguage, such as JAVA, C++, C#, or other suitable programminglanguages. The program code may execute entirely on a user's device,partly on a user's device, as a stand-alone software package, partly ona user's device and partly on a remote computer, or entirely on a remotecomputer or server. In the latter scenario, a remote computer may beconnected to a user's device through any type of network, including asatellite communications network, a local area network (“LAN”), or awide area network (“WAN”), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider) or offered as a service, such as, for example, a Software as aService (“SaaS”), e.g., over a secure web interface via a httpsconnection.

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(including systems), and computer program products. Individual blocks ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmableinstruction execution apparatus, create a mechanism for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in acomputer-readable medium. When accessed from the computer-readablemedium and executed, the computer program instructions may direct acomputer, other programmable data processing apparatus, or other devicesto function in a particular manner, such that the instructions whenstored in the computer-readable medium produce an article of manufactureincluding instructions that, when executed, cause a computer toimplement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer, other programmable instruction executionapparatus, or other devices to cause a series of operational steps to beperformed on the computer, other programmable apparatuses or otherdevices to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

The corresponding structures, materials, acts, and equivalents of anymeans or step plus function elements in the claims below are intended toinclude any disclosed structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of the present disclosure has been presentedfor purposes of illustration and description, but is not intended to beexhaustive or limited to the disclosure in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of thedisclosure. The aspects of the disclosure herein were chosen anddescribed in order to explain the principles of the disclosure and thepractical application, and to enable others of ordinary skill in the artto understand the disclosure with various modifications as are suited tothe particular use contemplated.

What is claimed is:
 1. A system comprising: a communications networkcomprising one or more nodes for transmitting wireless communications toand receiving wireless communications from wireless communicationsdevices; and a talkgroup management system configured to: supportmultiple talkgroups, individual talkgroups enabling wirelesscommunications devices designated as being members of corresponding onesof the individual talkgroups to exchange group communications with eachother across the communications network; store, in computer-accessiblestorage, information designating a set of talkgroups as talkgroups ofwhich a particular communications device is a member and identifying aparticular talkgroup within the set as being a priority talkgroup forthe particular communications device; process a request to instantiatethe particular talkgroup; and cause, as a consequence of processing therequest to instantiate the particular talkgroup and based on the storedinformation identifying the particular talkgroup within the set as beingthe priority talkgroup for the particular communications device, atleast one node to transmit a communication for the particularcommunications device announcing the instantiation of the particulartalkgroup.
 2. The system of claim 1 wherein: the communications networkcomprises a satellite communications network; and the one or more nodesfor transmitting wireless communications to and receiving wirelesscommunications from wireless communications devices include a satellitefor transmitting wireless communications to and receiving wirelesscommunications from wireless communications devices.
 3. The system ofclaim 2 wherein the one or more nodes for transmitting wirelesscommunications to and receiving wireless communications from wirelesscommunications devices include multiple satellites for transmittingwireless communications to and receiving wireless communications fromwireless communications devices, wherein intersatellite communicationlinks enable individual ones of the satellites to exchangecommunications with other individual ones of the satellites.
 4. Thesystem of claim 1 wherein the communications network is a terrestrialcommunications network.
 5. The system of claim 1 wherein thecommunications network is a cellular communications network.
 6. Thesystem of claim 1 wherein the communications network is a land mobileradio network.
 7. The system of claim 1 wherein the talkgroup managementsystem is further configured to instantiate the particular talkgroup asa consequence of processing the request to instantiate the particulartalkgroup.
 8. The system of claim 7 wherein the talkgroup managementsystem is further configured to instantiate the particular talkgroup bycausing one or more nodes of the communications network to establish oneor more corresponding channels between the one or more nodes andwireless communications devices designated as being members of theparticular talkgroup, the one or more corresponding channels enablingthe wireless communications devices designated as being members of theparticular talkgroup to exchange group communications with each otheracross the communications network.
 9. The system of claim 1 wherein thetalkgroup management system configured to cause the at least one node totransmit a communication for the particular communications deviceannouncing the instantiation of the particular talkgroup comprises atalkgroup management system configured to cause the at least one node totransmit a communication for the particular communications deviceannouncing the instantiation of the particular talkgroup and instructingthe particular communications device to begin participating in theparticular talkgroup.
 10. The system of claim 1 wherein the talkgroupmanagement system configured to cause, as a consequence of processingthe request to instantiate the particular talkgroup and based on thestored information identifying the particular talkgroup within the setas being the priority talkgroup for the particular communicationsdevice, the at least one node to transmit a communication for theparticular communications device announcing the instantiation of theparticular talkgroup comprises a talkgroup management system configuredto cause, as a consequence of processing the request to instantiate theparticular talkgroup and based on the stored information identifying theparticular talkgroup within the set as being the priority talkgroup forthe particular communications device, the at least one node to transmita communication for the particular communications device announcing theinstantiation of the particular talkgroup at a time when the particularcommunications device is participating in a different talkgroup.
 11. Thesystem of claim 1 wherein the talkgroup management system is furtherconfigured to: store, in computer-accessible storage, informationidentifying a set of communications devices for which the particulartalkgroup is designated as being the priority talkgroup, the set ofcommunications devices including the particular communications device;and cause, as a consequence of processing the request to instantiate theparticular talkgroup and based on the stored information identifying theset of communications devices for which the particular talkgroup isdesignated as being the priority talkgroup, one or more nodes of thecommunications network to transmit communications for the communicationsdevices of the set of communications device announcing the instantiationof the particular talkgroup.
 12. A method comprising: supportingmultiple talkgroups for exchanging group communications across acommunications network having one or more nodes for transmittingwireless communications to and receiving wireless communications fromwireless communications devices, individual talkgroups enabling wirelesscommunications devices designated as being members of corresponding onesof the individual talkgroups to exchange group communications with eachother across the communications network; storing, in computer-accessiblestorage, information designating a set of talkgroups as talkgroups ofwhich a particular communications device is a member and identifying aparticular talkgroup within the set as being a priority talkgroup forthe particular communications device; receiving a request to instantiatethe particular talkgroup; and causing, in response to receiving therequest to instantiate the particular talkgroup and based on the storedinformation identifying the particular talkgroup within the set as beingthe priority talkgroup for the particular communications device, atleast one node to transmit a communication for the particularcommunications device announcing the instantiation of the particulartalkgroup.
 13. The method of claim 12 wherein: the communicationsnetwork comprises a satellite communications network; and the one ormore nodes for transmitting wireless communications to and receivingwireless communications from wireless communications devices include asatellite for transmitting wireless communications to and receivingwireless communications from wireless communications devices.
 14. Themethod of claim 12 further comprising instantiating the particulartalkgroup in response to receiving the request to instantiate theparticular talkgroup.
 15. The method of claim 14 wherein instantiatingthe particular talkgroup comprises causing one or more nodes of thecommunications network to establish one or more corresponding channelsbetween the one or more nodes and wireless communications devicesdesignated as being members of the particular talkgroup, the one or morecorresponding channels enabling the wireless communications devicesdesignated as being members of the particular talkgroup to exchangegroup communications with each other across the communications network.16. The method of claim 12 wherein causing the at least one node totransmit a communication for the particular communications deviceannouncing the instantiation of the particular talkgroup comprisescausing the at least one node to transmit a communication for theparticular communications device announcing the instantiation of theparticular talkgroup at a time when the particular communications deviceis participating in a different talkgroup.
 17. The method of claim 12further comprising: storing, in computer-accessible storage, informationidentifying a set of communications devices for which the particulartalkgroup is designated as being the priority talkgroup, the set ofcommunications devices including the particular communications device;and causing, in response to receiving the request to instantiate theparticular talkgroup and based on the stored information identifying theset of communications devices for which the particular talkgroup isdesignated as being the priority talkgroup, one or more nodes of thecommunications network to transmit communications for the communicationsdevices of the set of communications device announcing the instantiationof the particular talkgroup.
 18. A non-transitory, computer-readablemedium storing computer-readable instructions that, when executed by oneor more processing elements, cause the one or more processing elementsto: support multiple talkgroups for exchanging group communicationsacross a communications network having one or more nodes fortransmitting wireless communications to and receiving wirelesscommunications from wireless communications devices, individualtalkgroups enabling wireless communications devices designated as beingmembers of corresponding ones of the individual talkgroups to exchangegroup communications with each other across the communications network;store, in computer-accessible storage, information designating a set oftalkgroups as talkgroups of which a particular communications device isa member and identifying a particular talkgroup within the set as beinga priority talkgroup for the particular communications device; process arequest to instantiate the particular talkgroup; and cause, as aconsequence of processing the request to instantiate the particulartalkgroup and based on the stored information identifying the particulartalkgroup within the set as being the priority talkgroup for theparticular communications device, the at least one node to transmit acommunication for the particular communications device announcing theinstantiation of the particular talkgroup.
 19. The computer-readablemedium of claim 18 wherein: the communications network comprises asatellite communications network; and the one or more nodes fortransmitting wireless communications to and receiving wirelesscommunications from wireless communications devices include a satellitefor transmitting wireless communications to and receiving wirelesscommunications from wireless communications devices.
 20. Thecomputer-readable medium of claim 18 further storing instructions that,when executed by one or more processing elements, cause the one or moreprocessing elements to instantiate the particular talkgroup as aconsequence of processing the request to instantiate the particulartalkgroup.
 21. The computer-readable medium of claim 20 wherein theinstructions that, when executed by one or more processing elements,cause the one or more processing elements to instantiate the particulartalkgroup include instructions that, when executed by the one or moreprocessing elements, cause the one or more processing elements to causeone or more nodes of the communications network to establish one or morecorresponding channels between the one or more nodes and wirelesscommunications devices designated as being members of the particulartalkgroup, the one or more corresponding channels enabling the wirelesscommunications devices designated as being members of the particulartalkgroup to exchange group communications with each other across thecommunications network.
 22. The computer-readable medium of claim 18wherein the instructions that, when executed by one or more processingelements, cause the one or more processing elements to cause, as aconsequence of processing the request to instantiate the particulartalkgroup and based on the stored information identifying the particulartalkgroup within the set as being the priority talkgroup for theparticular communications device, the at least one node to transmit acommunication for the particular communications device announcing theinstantiation of the particular talkgroup include instructions that,when executed by one or more processing elements, cause the one or moreprocessing elements to cause, as a consequence of processing the requestto instantiate the particular talkgroup and based on the storedinformation identifying the particular talkgroup within the set as beingthe priority talkgroup for the particular communications device, the atleast one node to transmit a communication for the particularcommunications device announcing the instantiation of the particulartalkgroup at a time when the particular communications device isparticipating in a different talkgroup.
 23. The computer-readable mediumof claim 18 further storing instructions that, when executed by one ormore processing elements, cause the one or more processing elements to:store, in computer-accessible storage, information identifying a set ofcommunications devices for which the particular talkgroup is designatedas being the priority talkgroup, the set of communications devicesincluding the particular communications device; and cause, as aconsequence of processing the request to instantiate the particulartalkgroup and based on the stored information identifying the set ofcommunications devices for which the particular talkgroup is designatedas being the priority talkgroup, one or more nodes of the communicationsnetwork to transmit communications for the communications devices of theset of communications devices announcing the instantiation of theparticular talkgroup.